<?

/*
*
*   Excalibur Content Management System
*   Copyright © 2008 Egor "Sontan" Kuryanovich
*
*   Based on Explay Engine v2.0 by Golovdinov Alexander
*
*   Official site: www.excms.ru
*   Contact e-mail: support@excms.ru
*
*   GNU General Public License original source:
*   http://www.gnu.org/licenses/gpl-3.0.html
*
*/

if ($EXCMS != 'work') 
{
	header ('Location: ../../index.php');
	exit;
}

if (is_registered()) 
	site_error ('Вы уже зарегистрированы');
elseif ($SITE['allow_register'] == "no") 
	site_error ("Регистрация на сайте запрещена");
else 
{
	// =================================
	$form = "\n<form name=\"regist\" style=\"margin:0px\" action=\"\" method=\"POST\" enctype=\"multipart/form-data\">
	<table cellspacing=\"0\" cellpadding=\"2\">
		<tr>
			<td align=\"right\" width=\"35%\" valign=\"top\">Логин:</td>
			<td style=\"padding-left:10px\">
				<input onblur=\"check_name('login', 'login-layer');\" class=\"form\" style=\"width:160px\" type=\"text\" name=\"login\" maxlength=\"30\" />
				<br /><span class=\"help\">Логин будет использоваться для входа в систему. Он должен содержать только символы латинского алфавита, цифры и знак подчеркивания.</span><div id=\"login-layer\"></div></td>
		</tr>
		<tr>
			<td align=\"right\">Пароль:</td>
			<td style=\"padding-left:10px\"><input class=\"form\" style=\"width:160px\" type=\"password\" name=\"pass1\" maxlength=\"30\" /></td>
		</tr>
		<tr>
			<td align=\"right\">Повторите пароль:</td>
			<td style=\"padding-left:10px\"><input class=\"form\" style=\"width:160px\" type=\"password\" name=\"pass2\" maxlength=\"30\" /></td>
		</tr>
		<tr>
			<td align=\"right\" valign=\"top\">Имя:</td>
			<td style=\"padding-left:10px\"><input onblur=\"check_name('name', 'user-layer');\" class=\"form\" style=\"width:160px\" type=\"text\" name=\"name\" maxlength=\"30\" value=\"".strip_tags($_POST['name'])."\" /><br /><span class=\"help\">Будет видно другим пользователям.</span><div id=\"user-layer\"></div></td>
		</tr>
		<tr>
			<td align=\"right\">E-mail:</td>
			<td style=\"padding-left:10px\"><input class=\"form\" onblur=\"check_name('email', 'mail-layer');\" style=\"width:160px\" type=\"text\" name=\"email\" maxlength=\"30\" value=\"".strip_tags($_POST['email'])."\" />
			<div id=\"mail-layer\"></div></td>
		</tr>
		<!-- <tr>
			<td align=\"right\">Показывать e-mail:</td>
			<td style=\"padding-left:10px\"><input type=\"checkbox\" name=\"vemail\" value=\"view\" checked /></td>
		</tr> -->
		<tr>
			<td align=\"right\">Введите код справа:</td>
			<td style=\"padding-left:10px\"><span id=\"captcha_image\"><img src=\"/antibot.gif\" align=\"absmiddle\"></span>
			<input class=\"form\" size=\"5\" type=\"text\" name=\"code\" maxlength=\"5\" value=\"\" /><br /><small>Не видно? <a href=\"/\" onclick=\"reload_captcha(); return false;\"><small>Обновить!</small></a></small></td>
		</tr>
		<tr>
			<td colspan=\"2\" align=\"center\"><p />
				<input type=\"checkbox\" name=\"agree\" value=\"yes\" /> <label for=\"agree\">Я согласен с <a href=\"/rules.html\" target=\"_blank\">правилами сайта</a></label>
				<p><input name=\"reg\" type=\"submit\" class=\"button\" value=\"Зарегистрироваться\" style=\"width:200px\" />
			</td>
		</tr>
	</table></form>
	<script type=\"text/javascript\">
	function check_name(what, layer){
		var ajax = new dle_ajax();
		ajax.onShow ('');
		var varsString = \"\";
		ajax.setVar(\"mod\", what);
		if (what == 'name') {
			ajax.setVar(\"username\", document.regist.name.value);
		}
		if (what == 'login') {
			ajax.setVar(\"userlogin\", document.regist.login.value);
		}
		if (what == 'email') {
			ajax.setVar(\"usermail\", document.regist.email.value);
		}
		ajax.requestFile = \"/include/ajax/check_reg.php\";
		ajax.method = 'GET';
		ajax.element = layer;
		ajax.sendAJAX(varsString);
	}
	</script>";
	$agree = $_POST['agree'];
	$nlogin = strip_tags(trim($_POST['login']));
	$npass = strip_tags(trim($_POST['pass1']));
	$npass2 = strip_tags(trim($_POST['pass2']));
	$nname = strip_tags(trim($_POST['name']));
	$nemail = strip_tags(trim($_POST['email']));
	$nview = strip_tags($_POST['vemail']);
	if ($nview == 'view') $nview = "open";
	else $nview = "hide";

	if (isset($_POST['reg'])) 
	{
		//-----------------------------
		if ($_POST['login'] != "" && $_POST['pass1'] != "" && $_POST['pass2'] != "" && $_POST['name'] != "" && $_POST['email'] != "") 
		{
			$error = "";	
	
			if ($agree != "yes") $error .= "<li>Если вы не согласны с правилами сайта, вы не можете зарегистрироваться!";
	
			$check_email = $db->query ("SELECT user_email FROM ".DB_PEREFIX."_users WHERE user_email = '$nemail'");
			$check_log = $db->query ("SELECT * FROM ".DB_PEREFIX."_users WHERE user_login = '$nlogin'");
			$check_name = $db->query ("SELECT * FROM ".DB_PEREFIX."_users WHERE user_name = '$nname'");
	
			if (strlen($nname) < $SITE['user_name'] || strlen($nname) > 30) $error .= "<li>Имя должно быть от ".$SITE['user_name']." до 16 символов!";
			if (strlen($npass) < $SITE['user_name'] || strlen($npass) > 16) $error .= "<li>Пароль должен быть от ".$SITE['user_name']." до 16 символов!";
			if (strlen($nlogin) < $SITE['user_name'] || strlen($nlogin) > 16) $error .= "<li>логин должен быть от ".$SITE['user_name']." до 16 символов!";
	
			if (is_numeric ($nlogin)) $error .= "<li>Логин не может состоять только из чисел!";
			if (!preg_match("#^[a-zA-Z0-9_-]+$#", $nlogin)) $error .= "<li>Логин должен содеоржать только буквы латинского алфавита, цифры и знак подчеркивания!";
	
			if ($db->num_rows($check_name) > 0) $error .= "<li>Пользователь с таким именем уже существует!";
			if ($db->num_rows($check_log) > 0) $error .= "<li>Пользователь с таким логином уже существует!";
			if ($db->num_rows($check_email) > 0) $error .= "<li>Пользователь с таким e-mail уже существует!";
	
			if ($npass2 != $npass) $error .= "<li>Пароли должны совпадать!";
			if (!eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$nemail)) $error .= "<li>Неправильный формат e-mail!";
			if ($_POST['code'] != $_SESSION['secret_code'] || !$_SESSION['secret_code']) $error .= "<li>Неверный код!";
	
			if ($error == "") 
			{
				$put_user = $db->query("INSERT INTO ".DB_PEREFIX."_users VALUES (0, '$nlogin', '".expl_hash($npass)."', '$nname', 'user', '0', '$nemail', '$nicq', '', '".time()."', '', 'off', '', '0', '0', '', 'off', '', '', '', '', '', '', '', '', '', '', '')");
		
				if ($put_user) 
				{	
					$url = $_SERVER['HTTP_HOST'];
					$url = str_replace ("www.", "", $url);
					$url = "www.".$url;
			
					$template->set_var ("{NAME}", $nname);
					$template->set_var ("{LOGIN}", $nlogin);
					$template->set_var ("{PASS}", $npass);
					$template->set_var ("{SITE}", $url);
					$body = $template->display("mail/registration.tpl");
				
								
					site_message ('Вы успешно зарегистрировались!<br />
					В течении нескольких минут на ваш e-mail будут высланы ваши данные.<p>
					<input class="button" type="button" value="Вход в систему" onclick=\'document.location.href="/auth.html";\' style="width:160px" />');
			
					send_mail ($nemail, 'Регистрация на сайте "'.$SITE['site_name'].'"', n2br($body));
				}
				else 
					site_error ('Ошибка добавления пользователя в БД!');
			}
			else 
			{
				site_error ($error);
				print_reg ();
			}
		}
		else 
		{
			site_error ('Не заполнены необходимые поля!');
			print_reg ();
		}
	}
	else 
		print_reg ();
}


function print_reg () 
{
	global $form;
	past_table ("Регистрация", $form);
}
